package com.gitee.liang521.generate.api.generate;

import com.gitee.liang521.generate.api.config.GenerateProperties;
import com.gitee.liang521.generate.api.pojo.dto.TableInfoDto;
import org.springframework.beans.factory.InitializingBean;

/**
 * @author liang zai
 * @date 2021/9/16 17:20
 * @description
 */
public interface Generate extends InitializingBean {

    /**
     * 生成
     * @param tableInfo the table info
     * @param generateTemplate the template
     * @param model
     */
    void generate(TableInfoDto tableInfo, GenerateProperties.Template generateTemplate, String model);

    /**
     * 文件目录
     * @param tableNameCameCase the tableNameCameCase
     * @param generateTemplate the generateTemplate
     * @param model
     * @return dir path
     */
    String getDirPath(String tableNameCameCase, GenerateProperties.Template generateTemplate, String model);
}
